package Classes;
//classe para gerar o relatorio
import Classes_Conexao.Conexao;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JRException;
import java.util.HashMap;
//import necessarios para executa o relatorio
//classe gerado relatorio
public class GeradoRelatorios {

    public JasperPrint gerarRelatoriosClientes() throws Exception {
        JasperPrint rel = null;
//rel e um nome para demostra o relatorio.
//relatorio que traz todas informações.
        try {
            Connection con = Conexao.getConnection();//e para conexação di banco estatico tem que ser criado pra chama o //dados do banco
            HashMap map = new HashMap();
            String arquivoJasper = "RelatorioClientes.jasper";//nome do arquivo de relatorio que devera esta na pasta //principal do projeto api de java...
            rel = JasperFillManager.fillReport(arquivoJasper, map, con);//coloque os nomes que voce demonina emcima
        } catch (JRException e) {
            e.printStackTrace();
        }
        return rel;//returna seu relatorio
    }
//relatorio que chama so por um codigo informado pelo usuario
    public JasperPrint gerarRelatoriosFuncionarios2(int codigo) throws Exception {

        JasperPrint rel = null;

        try {
            Connection con = Conexao.getConnection();
            String arquivoJasper = "relatorifuncionario.jasper";//nome do arquivo que voce tenha criado.
            String query = "select * from funcionario where codigo=" + codigo;//sql para chama um codigo de funcionario
            Statement s = (Statement) Conexao.getConnection();//cria conexao statementet
            ResultSet rs = s.executeQuery(query);//executa o sql
            JRResultSetDataSource tst = new JRResultSetDataSource(rs);
            HashMap map = new HashMap();
            map.put("QUERY", con);
            rel = JasperFillManager.fillReport(arquivoJasper, map, tst);//coloque o nome das variaveis que voce denominou
        } catch (JRException e) {
            e.printStackTrace();
        }
        return rel;
    }
}
